A typical computer system has at least a microprocessor and memory. The microprocessor processes, i.e., executes, instructions to accomplish various tasks of the computer system. Such instructions, along with the data required by the microprocessor when executing these instructions, are stored in some form of memory. FIG. 1 shows a typical computer system having a microprocessor (10) and some form of memory (12). The microprocessor (10) has, among other components, a central processing unit (also known and referred to as xe2x80x9cCPUxe2x80x9d or xe2x80x9cexecution unitxe2x80x9d) (14) and a memory controller (also known as xe2x80x9cload/store unitxe2x80x9d) (16). The CPU (14) is where the actual arithmetic and logical operations of the computer system take place. To facilitate the execution of operations by the CPU (14), the memory controller (16) provides the CPU (14) with necessary instructions and data from the memory (12). The memory controller (16) also stores information generated by the CPU (14) into the memory (12).
The operations that occur in a computer system, such as the logical operations in the CPU and the transfer of data between the CPU and memory, require power. If the components responsible for carrying out specific operations do not receive adequate power in a timely manner, computer system performance is susceptible to degradation. As an added challenge, power consumption of modern computers has increased as a consequence of increased operating frequencies. Thus, providing power to the components in a computer system in a sufficient and timely manner has become an issue of significant importance.
Often, power supply to a particular computer system element varies, which, in turn, effects the integrity of the element""s output. Typically, this power variation results from the distance between a power supply for the element and the element itself. This distance may lead to the element not receiving power (via current) at the exact time it is required.
As shown in FIG. 2, one approach used by designers to combat this performance-inhibiting behavior is introducing decoupling capacitance (also referred to as xe2x80x9cdecapxe2x80x9d) to a particular circuit by positioning one or more decoupling capacitors (13) close to elements (15) in an integrated circuit (17). These decoupling capacitors (13) store charge from the power supply and distribute the charge to the elements (15) when needed. For example, if power received by a element from a power supply line (19) attenuates, one or more decoupling capacitors (13) will distribute charge to the element (15) to ensure that the element (15) is not affected by the power variation on the power supply line (19). In essence, a decoupling capacitor acts as a local power supply for one or more specific elements in a computer system.
However, important considerations must be made as to the assignment of one or more decoupling capacitors to particular capacitance needing elements because capacitors have particular undesirable characteristics. One such characteristic pertains to two types of capacitors: thin-oxide capacitors and thick-oxide capacitors. A thin-oxide capacitor is designed using one or more transistors that have thin gate dielectric thicknesses, and although thin-oxide capacitors provide a relatively large amount of decoupling capacitance, they are prone to undesirable gate-tunneling leakage currents. Such leakage current, in turn, increases the leakage power of a circuit, resulting in increased power and heat dissipation by the circuit. Alternatively, a thick-oxide capacitor is designed using one or more transistors that have thick gate dielectric thicknesses, and although thick-oxide capacitors have less leakage currents, they provide a small amount of decoupling capacitance relative to thin-oxide capacitors. Thus, there is a need for a technique that assigns decoupling capacitors such that decoupling capacitance on an integrated circuit is increased while leakage power constraints are met.
According to one aspect of the present invention, a method for assigning decoupling capacitors on an integrated circuit having a plurality of drivers and a leakage power constraint comprises determining a plurality of decoupling capacitance need to available decoupling capacitance ratios for the plurality of drivers; selecting a high ratio from the plurality of ratios, where the high ratio is associated with a decoupling capacitor; determining whether a total leakage power would be greater than the leakage power constraint were the decoupling capacitor replaced with a thin-oxide decoupling capacitor; and replacing the decoupling capacitor with the thin-oxide decoupling capacitor if the total leakage power would not be greater than the leakage power constraint.
According to another aspect, a computer system comprises a processor, a memory, and instructions, residing in the memory and executable in the processor, for determining a plurality of decoupling capacitance need to available decoupling capacitance ratios for a plurality of drivers; and using the plurality of ratios to increase an amount of decoupling capacitance by replacing a decoupling capacitor with a thin-oxide decoupling capacitor without violating a leakage power constraint of the integrated circuit.
According to another aspect, a computer-readable medium having recorded therein instructions executable by processing, where the instructions are for: determining a plurality of decoupling capacitance need to available decoupling capacitance ratios for a plurality of drivers on an integrated circuit; selecting a high ratio from the plurality of ratios, where the high ratio is associated with a decoupling capacitor; determining whether a total leakage power would be greater than a leakage power constraint were the decoupling capacitor replaced with a thin-oxide decoupling capacitor; and replacing the decoupling capacitor with the thin-oxide decoupling capacitor if the total leakage power would not be greater than the leakage power constraint.
According to another aspect, a method for assigning decoupling capacitors on an integrated circuit having a plurality of drivers and a leakage power constraint comprises determining a plurality of available decoupling capacitance to decoupling capacitance need ratios for the plurality of drivers; selecting a low ratio from the plurality of ratios, where the low ratio is associated with a decoupling capacitor; determining whether a total leakage power would be greater than the leakage power constraint were the decoupling capacitor replaced with a thin-oxide decoupling capacitor; and if the total leakage power would not be greater than the leakage power constraint, replacing the decoupling capacitor with the thin-oxide decoupling capacitor.
Other aspects and advantages of the invention will be apparent from the following description and the appended claims.